﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///Дейстивя над НДС
	///</summary>
	[DataContract]
	public enum ДействиеНДСВСтоимостиТоваров
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"5daf3cc3-b614-46cd-b86e-62f98bae4325\", \"Представление\":\"НеИзменять\"}")]
		НеИзменять = 0,//Не изменять
		[EnumMember(Value = "{\"Ссылка\":\"169b8a54-d742-4723-a27b-30fbbf4bf7df\", \"Представление\":\"ВключитьВСтоимость\"}")]
		ВключитьВСтоимость = 1,//Включить
		[EnumMember(Value = "{\"Ссылка\":\"53cf4592-60c9-43be-a650-35f50cf7db3e\", \"Представление\":\"ИсключитьИзСтоимости\"}")]
		ИсключитьИзСтоимости = 2,//Исключить
	}
	public static partial class ДействиеНДСВСтоимостиТоваров_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid НеИзменять = new Guid("f9626eb8-ae8b-2543-46cd-b6145daf3cc3");//Не изменять
		public static readonly Guid ВключитьВСтоимость = new Guid("fb307ba2-4bbf-dff7-4723-d742169b8a54");//Включить
		public static readonly Guid ИсключитьИзСтоимости = new Guid("f53550a6-f70c-3edb-43be-60c953cf4592");//Исключить
		public static ДействиеНДСВСтоимостиТоваров Получить(this ДействиеНДСВСтоимостиТоваров Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ДействиеНДСВСтоимостиТоваров Получить(this ДействиеНДСВСтоимостиТоваров Значение, Guid Ссылка)
		{
			if(Ссылка == НеИзменять)
			{
				return ДействиеНДСВСтоимостиТоваров.НеИзменять;
			}
			else if(Ссылка == ВключитьВСтоимость)
			{
				return ДействиеНДСВСтоимостиТоваров.ВключитьВСтоимость;
			}
			else if(Ссылка == ИсключитьИзСтоимости)
			{
				return ДействиеНДСВСтоимостиТоваров.ИсключитьИзСтоимости;
			}
			return ДействиеНДСВСтоимостиТоваров.ПустаяСсылка;
		}
		public static byte[] Ключ(this ДействиеНДСВСтоимостиТоваров Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ДействиеНДСВСтоимостиТоваров Значение)
		{
			switch (Значение)
			{
				case ДействиеНДСВСтоимостиТоваров.НеИзменять: return НеИзменять;
				case ДействиеНДСВСтоимостиТоваров.ВключитьВСтоимость: return ВключитьВСтоимость;
				case ДействиеНДСВСтоимостиТоваров.ИсключитьИзСтоимости: return ИсключитьИзСтоимости;
			}
			return Guid.Empty;
		}
	}
}